package com.jsle.financial.dao;

import com.jsle.financial.domain.User;
import com.jsle.financial.domain.User_UserGroups;
import com.jsle.financial.vo.Page;
import com.jsle.financial.vo.Result;


public interface UserDao {
	/**
	 * 新增一用户
	 * @param user
	 * @return
	 */
	public Result addUser(User user);
	/**
	 * 删除一用户
	 * @param user
	 * @return
	 */
	public Result delUsers(User user);
	/**
	 * 更新一用户信息
	 * @param user
	 * @return
	 */
	public Result updateUser(User user);
	/**
	 * 根据登录账号获取一用户信息
	 * @param loginName
	 * @return
	 */
	public Result queryUserByLoginName(User userParameter);
	
	/**
	 * 分页查询
	 * @param page
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public Result queryUsersByPage(Page page,String loginName);

	
	/**
	 * 用户配置用户组
	 * @param uug
	 * @return
	 */
	public Result addUserAndUserGroups(User_UserGroups uug);
	/**
	 * 根据申请人获取流程审核人员列表
	 * @param user
	 * @author wisdying
	 * @return
	 */
	public Result queryAssessors(User user);
	/**
	 * 根据Id获取用户信息
	 * @param userId
	 * @author wisdying
	 * @return
	 */
	public Result queryUserById(Integer userId);
	
	/**
	 * 删除用户配置用户组
	 * @param uug
	 * @return
	 */
	public Result delUserAndUserGroups(User_UserGroups uug);
	
	/**
	 * 根据申请人获取流程审批人员列表
	 * @param user
	 * @author wisdying
	 * @return
	 */
	public Result queryApproves(User user);
	/**
	 * 查询某个用户配置的用户组
	 * @param uug
	 * @return
	 */
	public Result selUserAndUserGroups(User_UserGroups uug);
	
	
}
